package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@TableName("fixed_asset_transfer")
@ApiModel(value = "固定资产转移")
@JsonIgnoreProperties(ignoreUnknown = true) //过滤前端提交 不存在的字段 然后序列化
public class FixedAssetTransfer {

    @TableId(type = IdType.AUTO)
    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("转移单号")
    private String transferNo;

    @ApiModelProperty("资产类型")
    private String assetType;

    @ApiModelProperty("申请单位")
    private String applicationUnit;

    @ApiModelProperty("申请日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate applicationDate;

    @ApiModelProperty("资产名称")
    private String assetName;

    @ApiModelProperty("资产编号")
    private String assetNumber;

    @ApiModelProperty("型号")
    private String model;

    @ApiModelProperty("规格")
    private String specification;

    @ApiModelProperty("存放地点")
    private String storageLocation;

    @ApiModelProperty("希望移转日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate transferDate;

    @ApiModelProperty("移转原因")
    private String transferReason;

    @ApiModelProperty("移转方式")
    private String transferMethod;

    @ApiModelProperty("移出部门")
    private String outDepartment;

    @ApiModelProperty("原保管人")
    private String originalCustodian;

    @ApiModelProperty("移出部门主管")
    private String outDepartmentSupervisor;

    @ApiModelProperty("移出经理")
    private String outManager;

    @ApiModelProperty("移出部长/总监")
    private String outDirector;

    @ApiModelProperty("接管部门")
    private String inDepartment;

    @ApiModelProperty("新保管人")
    private String newCustodian;

    @ApiModelProperty("接管部门主管")
    private String inDepartmentSupervisor;

    @ApiModelProperty("接管经理")
    private String inManager;

    @ApiModelProperty("接管部长/总监")
    private String inDirector;

    @ApiModelProperty("总经理意见")
    private String generalManagerOpinion;

    @ApiModelProperty("财务管理部意见")
    private String financeDepartmentOpinion;

    @ApiModelProperty("企业管理部审查")
    private String enterpriseManagementReview;

    @ApiModelProperty("总裁/董事长意见")
    private String presidentOpinion;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;
}